﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace Clinica_Frba
{
    public partial class FormBusquedaAfiliadoParaModificar : FormBusquedaAfiliado
    {
        public FormBusquedaAfiliadoParaModificar()
        {
            InitializeComponent();
        }

        override protected void dgvResultadoDeBusqueda_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.ColumnIndex == dgvResultadoDeBusqueda.Columns["Seleccionar"].Index)
            {

                if (e.RowIndex >= 0 )
                {

                    InfoDeAfiliado info = new InfoDeAfiliado();
                    SqlConnection myConnection = new SqlConnection(publico.ConnectionString);
                    myConnection.Open();
                    SqlCommand consulta = new SqlCommand("SELECT * FROM AFILIADO af JOIN PLAN_MEDICO pm ON pm.ID_PLAN = af.ID_PLAN WHERE ID_AFIL = '" + dgvResultadoDeBusqueda.Rows[e.RowIndex].Cells["NroAfiliado"].Value.ToString() + "'", myConnection);
                    SqlDataReader executeCMD = consulta.ExecuteReader();
                    executeCMD.Read();

                    info.strAfiliadoID = executeCMD["ID_AFIL"].ToString();
                    info.strCantidadDeFamiliaresDependientes = executeCMD["RELATIVOS_A_CARGO"].ToString();
                    info.strNombre = executeCMD["Nombre"].ToString();
                    info.strApellido = executeCMD["Apellido"].ToString();
                    info.strEmail = executeCMD["mail"].ToString();
                    info.strEstadoCivil = executeCMD["ESTADO_CIVIL"].ToString();
                    info.strDireccion = executeCMD["Direccion"].ToString();
                    info.strPlanMedico = executeCMD["descripcion"].ToString();
                    info.strSexo = executeCMD["Sexo"].ToString();
                    info.strTelefono = executeCMD["Telefono"].ToString();
                    info.strNumeroDeDocumento = executeCMD["NRO_DOC"].ToString();
                    info.strTipoDeDocumento = executeCMD["TIPO_DOC"].ToString();
                    info.strFechaDeNacimiento = executeCMD["FECHA_NACIMIENTO"].ToString();


                    executeCMD.Close();
                    consulta = new SqlCommand("SELECT ESTADO FROM AFILIADO WHERE ID_AFIL = '" + dgvResultadoDeBusqueda.Rows[e.RowIndex].Cells["NroAfiliado"].Value.ToString() + "'", myConnection);
                    executeCMD = consulta.ExecuteReader();
                    executeCMD.Read();

                    if (executeCMD["ESTADO"].ToString() == "I")
                    {
                        if(Dialogos.MostrarYesNoDialog("El usuario se encuentra actualmente inhabilitado, desea habilitarlo ?" ))
                        {
                            executeCMD.Close();

                            SqlCommand strQuery = new SqlCommand("UPDATE AFILIADO SET ESTADO = 'H' WHERE ID_AFIL = '" + dgvResultadoDeBusqueda.Rows[e.RowIndex].Cells["NroAfiliado"].Value.ToString() + "'", myConnection);
                            int result = strQuery.ExecuteNonQuery();
                        }
                    }

                    FormModificarAfiliado formAProcesar = new FormModificarAfiliado();
                    formAProcesar.SetearInformacionBase(info);
                    formAProcesar.ShowDialog();

                    if (formAProcesar.FueSatisfactorio())
                        Dialogos.MostrarMessageDialog("Modificacion Satisfactoria");
                }

            }
        }

    }
}
